package com.hzhc.entity;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 车辆预约
 * </p>
 *
 * @author 功不唐捐
 * @since 2024-05-27
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("vehicle_reservation")
public class VehicleReservation implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 委托号
     */
    private String orderNo;

    /**
     * 预约类型(重进:ZJ 提空:TK 空进:KJ 提重:TZ 提重回空:TZHK)
     */
    private String reservationType;

    /**
     * 箱号
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String cntrNo;

    /**
     * 箱尺寸
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String cntrSize;

    /**
     * 车牌号
     */
    private String carNo;

    /**
     * 手机号
     */
    private String telephone;

    /**
     * 发布状态 0未进站，1已进站
     */
    private Integer status;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 创建人id
     */
    private Long userId;

    /**
     * 创建人会员id
     */
    private Long memberId;

    /**
     * 创建人
     */
    private String userName;

    /**
     * 修改人id
     */
    private Long updateUserId;

    /**
     * 修改人会员id
     */
    private Long updateMemberId;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 修改人
     */
    private String updateUserName;

    private Integer disable;

    /**
     * 箱号2
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String cntrNoB;

    /**
     * 箱尺寸2
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String cntrSizeB;

    /**
     * 箱Aid
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Long cntrIdA;

    /**
     * 箱Bid
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Long cntrIdB;

    /**
     * 结束状态 0未结束 1已结束
     */
    private Integer endState;

    /**
     * 箱子数量
     */
    private Integer cntrNum;

    /**
     * 当前公司(委托人）
     */
    private Long companyId;

    private Integer driver;//司机id

    private Integer submitType;//提交状态

    private Integer flow;//提重流向

    /**
     * 箱A理货状态 0未理货 10已理货
     */
    private Integer tallyFlag;

    /**
     * 箱B理货状态 0未理货 10已理货
     */
    private Integer tallyFlagB;

    /**
     * 贝位A
     */
    private String bayA;

    /**
     * 贝位B
     */
    private String bayB;

    @TableField(exist = false)
    private String companyName;

    public Integer dzgTypeB;//箱B 标记待整改状态  0默认否   1是

    public Integer dzgTypeA;//箱A 标记待整改状态   0默认否   1是

    /**
     * 提收状态 0提 1回
     */
    private Integer tsStatus;

    /**
     * 预约id
     */
    private Long vehicleId;

    /**
     * 退箱标志 0未退箱 1已退箱
     */
    private Integer backStatus;

}
